{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from matplotlib import pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>log_date</th>\n",
       "      <th>app_name</th>\n",
       "      <th>user_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2013-08-01</td>\n",
       "      <td>game-01</td>\n",
       "      <td>33754</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2013-08-01</td>\n",
       "      <td>game-01</td>\n",
       "      <td>28598</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2013-08-01</td>\n",
       "      <td>game-01</td>\n",
       "      <td>30306</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2013-08-01</td>\n",
       "      <td>game-01</td>\n",
       "      <td>117</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2013-08-01</td>\n",
       "      <td>game-01</td>\n",
       "      <td>6605</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     log_date app_name  user_id\n",
       "0  2013-08-01  game-01    33754\n",
       "1  2013-08-01  game-01    28598\n",
       "2  2013-08-01  game-01    30306\n",
       "3  2013-08-01  game-01      117\n",
       "4  2013-08-01  game-01     6605"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 读入 DAU（每天至少来访1次的用户）数据\n",
    "DAU_table = pd.read_csv('./data/section4-dau.csv')\n",
    "DAU_table.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>install_date</th>\n",
       "      <th>app_name</th>\n",
       "      <th>user_id</th>\n",
       "      <th>gender</th>\n",
       "      <th>generation</th>\n",
       "      <th>device_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2013-04-15</td>\n",
       "      <td>game-01</td>\n",
       "      <td>1</td>\n",
       "      <td>M</td>\n",
       "      <td>40</td>\n",
       "      <td>iOS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2013-04-15</td>\n",
       "      <td>game-01</td>\n",
       "      <td>2</td>\n",
       "      <td>M</td>\n",
       "      <td>10</td>\n",
       "      <td>Android</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2013-04-15</td>\n",
       "      <td>game-01</td>\n",
       "      <td>3</td>\n",
       "      <td>F</td>\n",
       "      <td>40</td>\n",
       "      <td>iOS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2013-04-15</td>\n",
       "      <td>game-01</td>\n",
       "      <td>4</td>\n",
       "      <td>M</td>\n",
       "      <td>10</td>\n",
       "      <td>Android</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2013-04-15</td>\n",
       "      <td>game-01</td>\n",
       "      <td>5</td>\n",
       "      <td>M</td>\n",
       "      <td>40</td>\n",
       "      <td>iOS</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  install_date app_name  user_id gender  generation device_type\n",
       "0   2013-04-15  game-01        1      M          40         iOS\n",
       "1   2013-04-15  game-01        2      M          10     Android\n",
       "2   2013-04-15  game-01        3      F          40         iOS\n",
       "3   2013-04-15  game-01        4      M          10     Android\n",
       "4   2013-04-15  game-01        5      M          40         iOS"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 读入 user_info（每天至少消费1日元的用户）数据\n",
    "user_info_table = pd.read_csv('./data/section4-user_info.csv')\n",
    "user_info_table.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>app_name</th>\n",
       "      <th>log_date</th>\n",
       "      <th>install_date</th>\n",
       "      <th>gender</th>\n",
       "      <th>generation</th>\n",
       "      <th>device_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>game-01</td>\n",
       "      <td>2013-09-01</td>\n",
       "      <td>2013-04-15</td>\n",
       "      <td>M</td>\n",
       "      <td>40</td>\n",
       "      <td>iOS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>game-01</td>\n",
       "      <td>2013-09-02</td>\n",
       "      <td>2013-04-15</td>\n",
       "      <td>M</td>\n",
       "      <td>40</td>\n",
       "      <td>iOS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>game-01</td>\n",
       "      <td>2013-09-03</td>\n",
       "      <td>2013-04-15</td>\n",
       "      <td>M</td>\n",
       "      <td>40</td>\n",
       "      <td>iOS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>game-01</td>\n",
       "      <td>2013-09-04</td>\n",
       "      <td>2013-04-15</td>\n",
       "      <td>M</td>\n",
       "      <td>40</td>\n",
       "      <td>iOS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>game-01</td>\n",
       "      <td>2013-09-05</td>\n",
       "      <td>2013-04-15</td>\n",
       "      <td>M</td>\n",
       "      <td>40</td>\n",
       "      <td>iOS</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   user_id app_name    log_date install_date gender  generation device_type\n",
       "0        1  game-01  2013-09-01   2013-04-15      M          40         iOS\n",
       "1        1  game-01  2013-09-02   2013-04-15      M          40         iOS\n",
       "2        1  game-01  2013-09-03   2013-04-15      M          40         iOS\n",
       "3        1  game-01  2013-09-04   2013-04-15      M          40         iOS\n",
       "4        1  game-01  2013-09-05   2013-04-15      M          40         iOS"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 合并 DAU 和 user_info\n",
    "merge_table = pd.merge(DAU_table,user_info_table,how='left',left_on='user_id',right_on='user_id',sort=True)\n",
    "merge_table = merge_table.rename(columns = {'app_name_x': 'app_name'})\n",
    "merge_table =merge_table[['user_id','app_name','log_date','install_date','gender','generation','device_type']]\n",
    "merge_table.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">user_id</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>gender</th>\n",
       "      <th>F</th>\n",
       "      <th>M</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>访问月份</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>2013年08月</td>\n",
       "      <td>47343</td>\n",
       "      <td>46842</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2013年09月</td>\n",
       "      <td>38027</td>\n",
       "      <td>38148</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         user_id       \n",
       "gender         F      M\n",
       "访问月份                   \n",
       "2013年08月   47343  46842\n",
       "2013年09月   38027  38148"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 用户群透视（性别）\n",
    "merge_table['访问月份'] = merge_table['log_date'].map(lambda x: x.split('-')[0] + '年' + x.split('-')[1].split('-')[0] + '月')\n",
    "\n",
    "pivot_gender = pd.pivot_table(merge_table,index=['访问月份'],values=['user_id'],columns=['gender'],aggfunc='count')\n",
    "pivot_gender"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"5\" halign=\"left\">user_id</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>generation</th>\n",
       "      <th>10</th>\n",
       "      <th>20</th>\n",
       "      <th>30</th>\n",
       "      <th>40</th>\n",
       "      <th>50</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>访问月份</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>2013年08月</td>\n",
       "      <td>18785</td>\n",
       "      <td>33671</td>\n",
       "      <td>28072</td>\n",
       "      <td>8828</td>\n",
       "      <td>4829</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2013年09月</td>\n",
       "      <td>15391</td>\n",
       "      <td>27229</td>\n",
       "      <td>22226</td>\n",
       "      <td>7494</td>\n",
       "      <td>3835</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           user_id                          \n",
       "generation      10     20     30    40    50\n",
       "访问月份                                        \n",
       "2013年08月     18785  33671  28072  8828  4829\n",
       "2013年09月     15391  27229  22226  7494  3835"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 用户群透视（年龄段）\n",
    "pivot_generation = pd.pivot_table(merge_table,index=['访问月份'],values=['user_id'],columns=['generation'],aggfunc='count')\n",
    "pivot_generation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"10\" halign=\"left\">user_id</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>gender</th>\n",
       "      <th colspan=\"5\" halign=\"left\">F</th>\n",
       "      <th colspan=\"5\" halign=\"left\">M</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>generation</th>\n",
       "      <th>10</th>\n",
       "      <th>20</th>\n",
       "      <th>30</th>\n",
       "      <th>40</th>\n",
       "      <th>50</th>\n",
       "      <th>10</th>\n",
       "      <th>20</th>\n",
       "      <th>30</th>\n",
       "      <th>40</th>\n",
       "      <th>50</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>访问月份</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>2013年08月</td>\n",
       "      <td>9091</td>\n",
       "      <td>17181</td>\n",
       "      <td>14217</td>\n",
       "      <td>4597</td>\n",
       "      <td>2257</td>\n",
       "      <td>9694</td>\n",
       "      <td>16490</td>\n",
       "      <td>13855</td>\n",
       "      <td>4231</td>\n",
       "      <td>2572</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2013年09月</td>\n",
       "      <td>7316</td>\n",
       "      <td>13616</td>\n",
       "      <td>11458</td>\n",
       "      <td>3856</td>\n",
       "      <td>1781</td>\n",
       "      <td>8075</td>\n",
       "      <td>13613</td>\n",
       "      <td>10768</td>\n",
       "      <td>3638</td>\n",
       "      <td>2054</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           user_id                                                          \n",
       "gender           F                               M                          \n",
       "generation      10     20     30    40    50    10     20     30    40    50\n",
       "访问月份                                                                        \n",
       "2013年08月      9091  17181  14217  4597  2257  9694  16490  13855  4231  2572\n",
       "2013年09月      7316  13616  11458  3856  1781  8075  13613  10768  3638  2054"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 用户群透视（性别 + 年龄段）\n",
    "pivot_gender_generation = pd.pivot_table(merge_table,index=['访问月份'],values=['user_id'],columns=['gender','generation'],aggfunc='count')\n",
    "pivot_gender_generation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">user_id</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>device_type</th>\n",
       "      <th>Android</th>\n",
       "      <th>iOS</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>访问月份</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>2013年08月</td>\n",
       "      <td>46974</td>\n",
       "      <td>47211</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2013年09月</td>\n",
       "      <td>29647</td>\n",
       "      <td>46528</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            user_id       \n",
       "device_type Android    iOS\n",
       "访问月份                      \n",
       "2013年08月      46974  47211\n",
       "2013年09月      29647  46528"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 用户群透视（设备）\n",
    "pivot_device_type = pd.pivot_table(merge_table,index=['访问月份'],values=['user_id'],columns=['device_type'],aggfunc='count')\n",
    "pivot_device_type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1b36b32648>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 结果可视化\n",
    "merge_table['日期'] = merge_table['log_date'].map(lambda x: x.replace('2013-',''))\n",
    "df = pd.pivot_table(merge_table,index=['日期'],values=['user_id'],columns=['device_type'],aggfunc='count')\n",
    "\n",
    "plt.rcParams['font.sans-serif']=['SimHei']\n",
    "plt.rcParams['axes.unicode_minus']=False\n",
    "\n",
    "df.plot(kind='line')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "hide_input": false,
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  },
  "nbTranslate": {
   "displayLangs": [
    "*"
   ],
   "hotkey": "alt-t",
   "langInMainMenu": true,
   "sourceLang": "en",
   "targetLang": "fr",
   "useGoogleTranslate": true
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
